4.1.6 选择排序
- 时间复杂度: О(n²)
- 空间复杂度: O(1)
思想:首先从原始数组中找到最小的元素,并把该元素放在数组的最前面,然后再从剩下的元素中寻找最小的元素,放在之前最小元素的后面,直到排序完毕。
function selectSort(arr){
var len = arr.length;
var index,temp;
for(var i = 0; i < len-1 ;i++){
index = i;
for(var j = i + 1 ; j<len; j++){
if(arr[j] < arr[index]){//寻找最小的数
index = j;//保存最小数的索引
}
}
temp = arr[i];
arr[i] = arr[index];
arr[index] = temp;
}
return arr;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
参考
← 4.1.5 快速排序 4.1.7 堆排序 →